\relax 
\ifx\hyper@anchor\@undefined
\global \let \oldcontentsline\contentsline
\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global \let \oldnewlabel\newlabel
\gdef \newlabel#1#2{\newlabelxx{#1}#2}
\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\let \contentsline\oldcontentsline
\let \newlabel\oldnewlabel}
\else
\global \let \hyper@last\relax 
\fi

\citation{feynman}
\citation{deutsch}
\citation{shor}
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Aims}{1}{subsection.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Background}{1}{subsection.1.2}}
\citation{2010}
\citation{greenbook}
\citation{universal}
\@writefile{toc}{\contentsline {section}{\numberline {2}Theory}{3}{section.2}}
\newlabel{theory}{{2}{3}{Theory\relax }{section.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Qubits, States and Registers}{3}{subsection.2.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Two-dimensional Hilbert space of a qubit represented by a Bloch sphere}}{3}{figure.1}}
\newlabel{bloch}{{1}{3}{Two-dimensional Hilbert space of a qubit represented by a Bloch sphere\relax }{figure.1}{}}
\citation{nonphysicists}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Gates}{4}{subsection.2.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}Hadamard Gate}{4}{subsubsection.2.2.1}}
\newlabel{had}{{2.2.1}{4}{Hadamard Gate\relax }{subsubsection.2.2.1}{}}
\citation{tonypaper}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}Phase Shift Gates}{5}{subsubsection.2.2.2}}
\newlabel{anyp}{{2.2.2}{5}{Phase Shift Gates\relax }{subsubsection.2.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3}NOT Gate}{5}{subsubsection.2.2.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.4}CNOT Gate}{6}{subsubsection.2.2.4}}
\newlabel{cnot}{{2.2.4}{6}{CNOT Gate\relax }{subsubsection.2.2.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.5}Toffoli Gate}{6}{subsubsection.2.2.5}}
\citation{algorithms}
\citation{grover}
\newlabel{eqn12}{{2.2.5}{7}{Toffoli Gate\relax }{subsubsection.2.2.5}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces The Toffoli gate composed of basic gates including the Hadamard, CNot and phase shift gates. $[\frac  {\pi }{8}]^\dagger $ is the congugate $\frac  {\pi }{8}$ gate and has $\phi =-\frac  {\pi }{4}$.}}{7}{figure.2}}
\newlabel{biftof}{{2}{7}{The Toffoli gate composed of basic gates including the Hadamard, CNot and phase shift gates. $[\frac {\pi }{8}]^\dagger $ is the congugate $\frac {\pi }{8}$ gate and has $\phi =-\frac {\pi }{4}$}{figure.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.6}Measurement}{7}{subsubsection.2.2.6}}
\newlabel{meas}{{2.2.6}{7}{Measurement\relax }{subsubsection.2.2.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Quantum Algorithms}{7}{subsection.2.3}}
\citation{librarybook}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}Grover's Algorithm}{8}{subsubsection.2.3.1}}
\newlabel{grovthe}{{2.3.1}{8}{Grover's Algorithm\relax }{subsubsection.2.3.1}{}}
\@writefile{toc}{\contentsline {paragraph}{Problem Structure}{8}{section*.2}}
\@writefile{toc}{\contentsline {paragraph}{Algorithm Setup}{8}{section*.3}}
\@writefile{toc}{\contentsline {paragraph}{Performing The Algorithm}{8}{section*.4}}
\citation{lavor}
\citation{deutschvideo}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces The ``Nand - All'' gate composed of basic gates; the Hadamard gate, Pauli-X gate, All-CNot (composed itself of CNot) and complex identity gate.}}{9}{figure.3}}
\newlabel{lavorfig}{{3}{9}{The ``Nand - All'' gate composed of basic gates; the Hadamard gate, Pauli-X gate, All-CNot (composed itself of CNot) and complex identity gate}{figure.3}{}}
\citation{bennett}
\citation{boyer}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces The Grover iteration represented as a rotation of $\left \delimiter "026A30C {\psi }\right \delimiter "526930B $ towards the searched state $\left \delimiter "026A30C {x_s}\right \delimiter "526930B $.}}{10}{figure.4}}
\newlabel{rotfig}{{4}{10}{The Grover iteration represented as a rotation of $\ket {\psi }$ towards the searched state $\ket {x_s}$}{figure.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Implementation}{11}{section.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Program Description}{11}{subsection.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Structure}{11}{subsection.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}GroverCircuit}{12}{subsection.3.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Register}{12}{subsection.3.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}User Interface}{12}{subsection.3.5}}
\citation{radtke}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Gates}{13}{subsection.3.6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}Matrix gates}{13}{subsubsection.3.6.1}}
\citation{walshfunc}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2}Example: CNOT gate}{14}{subsubsection.3.6.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.3}Function gates}{14}{subsubsection.3.6.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.4}Composite gates}{14}{subsubsection.3.6.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.5}A list of implemented gates}{15}{subsubsection.3.6.5}}
\newlabel{table}{{3.6.5}{15}{A list of implemented gates\relax }{subsubsection.3.6.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Grover's Iteration}{15}{subsection.3.7}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Discussion}{17}{section.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Development Structure}{17}{subsection.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Javadoc}{17}{subsection.4.2}}
\newlabel{javadoc}{{4.2}{17}{Javadoc\relax }{subsection.4.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Team Management and Code Development Tools}{18}{subsection.4.3}}
\newlabel{svn}{{4.3}{18}{Team Management and Code Development Tools\relax }{subsection.4.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Conclusion}{19}{section.5}}
\bibdata{ref}
\bibcite{feynman}{1}
\bibcite{deutsch}{2}
\bibcite{shor}{3}
\bibcite{2010}{4}
\bibcite{greenbook}{5}
\bibcite{universal}{6}
\bibcite{nonphysicists}{7}
\bibcite{tonypaper}{8}
\bibcite{algorithms}{9}
\bibcite{grover}{10}
\bibcite{librarybook}{11}
\bibcite{lavor}{12}
\bibcite{deutschvideo}{13}
\bibcite{bennett}{14}
\bibcite{boyer}{15}
\bibcite{radtke}{16}
\bibcite{walshfunc}{17}
\bibstyle{ieeetr}
\@writefile{toc}{\contentsline {section}{\numberline {6}References}{20}{section.6}}
\@writefile{toc}{\contentsline {section}{\numberline {7}Appendices}{21}{section.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}UML}{21}{subsection.7.1}}
\newlabel{uml}{{7.1}{21}{UML\relax }{subsection.7.1}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces UML diagram of code structure.}}{21}{figure.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}GUI}{21}{subsection.7.2}}
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Intro panel shown when the program is initially run.}}{21}{figure.6}}
\newlabel{intropanel}{{6}{21}{Intro panel shown when the program is initially run}{figure.6}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces The main user interface showing the simulation.}}{22}{figure.7}}
\newlabel{mainui}{{7}{22}{The main user interface showing the simulation}{figure.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Factory Constructor}{22}{subsection.7.3}}
\newlabel{factory}{{7.3}{22}{Factory Constructor\relax }{subsection.7.3}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces The static factory method in the \texttt  {Factory} class called to construct a Hadamard gate. The method will create a Hadamard gate represented by either a matrix or function depending on whether the static boolean \texttt  {functional} is set to true or false. Note, the user creating the Hadamard never needs to be aware of this decision.}}{23}{figure.8}}
\newlabel{code}{{8}{23}{The static factory method in the \texttt {Factory} class called to construct a Hadamard gate. The method will create a Hadamard gate represented by either a matrix or function depending on whether the static boolean \texttt {functional} is set to true or false. Note, the user creating the Hadamard never needs to be aware of this decision}{figure.8}{}}
